package com.module.oa.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 员工工资对象 salary
 * 
 * @author hezhengxian
 * @date 2023-09-12
 */
public class Salary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工编号 */
    @Excel(name = "员工编号")
    private Long employeeId;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal baseSalary;

    /** 绩效奖金 */
    @Excel(name = "绩效奖金")
    private BigDecimal performanceBonus;

    /** 加班工资 */
    @Excel(name = "加班工资")
    private BigDecimal overtimePay;

    /** 其他津贴和补贴 */
    @Excel(name = "其他津贴和补贴")
    private BigDecimal otherAllowances;

    /** 总薪酬 */
    @Excel(name = "总薪酬")
    private BigDecimal totalSalary;

    /** 发放日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发放日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setBaseSalary(BigDecimal baseSalary) 
    {
        this.baseSalary = baseSalary;
    }

    public BigDecimal getBaseSalary() 
    {
        return baseSalary;
    }
    public void setPerformanceBonus(BigDecimal performanceBonus) 
    {
        this.performanceBonus = performanceBonus;
    }

    public BigDecimal getPerformanceBonus() 
    {
        return performanceBonus;
    }
    public void setOvertimePay(BigDecimal overtimePay) 
    {
        this.overtimePay = overtimePay;
    }

    public BigDecimal getOvertimePay() 
    {
        return overtimePay;
    }
    public void setOtherAllowances(BigDecimal otherAllowances) 
    {
        this.otherAllowances = otherAllowances;
    }

    public BigDecimal getOtherAllowances() 
    {
        return otherAllowances;
    }
    public void setTotalSalary(BigDecimal totalSalary) 
    {
        this.totalSalary = totalSalary;
    }

    public BigDecimal getTotalSalary() 
    {
        return totalSalary;
    }
    public void setPaymentDate(Date paymentDate) 
    {
        this.paymentDate = paymentDate;
    }

    public Date getPaymentDate() 
    {
        return paymentDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("employeeId", getEmployeeId())
            .append("baseSalary", getBaseSalary())
            .append("performanceBonus", getPerformanceBonus())
            .append("overtimePay", getOvertimePay())
            .append("otherAllowances", getOtherAllowances())
            .append("totalSalary", getTotalSalary())
            .append("paymentDate", getPaymentDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
